package com.aaa.qy127.dao;

import com.aaa.qy127.entity.ChuKuCheck;

import java.util.List;
import java.util.Map;

public interface ChuKuCheckDao {

    /**
     * 查询 所有的出库 记录表中的 未审核的 信息 并 分页  模糊查询
     * @param chuKuCheck
     * @return
     */
    List<Map<String,Object>> getAllChuKuCheck(ChuKuCheck chuKuCheck);

    /**
     * 查询 所有的记录表中的信息的数量
     * @param chuKuCheck
     * @return
     */
    int getAllCount(ChuKuCheck chuKuCheck);

    /**
     * 查询所有的 出库记录 详情 表中的 未 审核 或者 审核没有成功 的 信息 并分页
     * @param chuKuCheck
     * @return
     */
    List<Map<String,Object>> getChuKuCheck(ChuKuCheck chuKuCheck);

    /**
     * 查询 按照 id 查询 该 出库记录的 数量
     * @param chuKuCheck
     */
    int getCount(ChuKuCheck chuKuCheck);

    /**
     * 通过 ckjlid 修改 status 的值
     * @param ckjlid
     * @param status
     * @return
     */
    int updateStatus(String ckjlid,String status);

    /**
     * 通过 ckjlid 查询出 这一条 出库记录信息
     * @param ckjlid
     * @return
     */
    List<Map<String,Object>> getOneChuKuJLByckjlid(String ckjlid);

    /**
     * 通过 ckjlid 修改 记录表中的 时间
     * @param ckjlid
     * @return
     */
    int updateCdate(String ckjlid);

    /**
     * 通过 ckjlid 查询出 该 ckjlid 对应 详情记录
     * @param ckjlid
     * @return
     */
    List<Map<String,Object>> getAllChuKuXQByckjlid(String ckjlid);

    /**
     * 将 从 出库记录 详情表中查出的数据 插入到 出库详情表中
     * @param maps
     * @return
     */
    void insertAllChuKuXQ(List<Map<String,Object>> maps,int ckid);

    /**
     * 将 从 出库记录表中 查出的 数据 插入到 出库 表中 并返回主键
     * @param maps
     * @return
     */
    int insertOneChuKu(List<Map<String,Object>> maps);

    /**
     * 通过 出库记录详情表中的bookid 查询出 每本书的 id 和 数量
     * @param maps
     * @return
     */
    List<List> getAllCountByBookid(List<Map<String,Object>> maps);

    /**
     * 通过 查询到的 bookid 和 该书的 总量 和 该书 出库 的 数量 修改 book表中的书籍的数量
     * @param lists
     */
    void updateCountByBookidAndCount(List<List> lists);

    /**
     * 通过 ckjlid 修改 状态 和 时间 和 备注的值
     * @param ckjlid
     * @return
     */
    int updateStatusByckjlid(String bz,String ckjlid);

    /**
     * 查询出 所有的 出库审核 未通过的 出库记录表中的 信息
     * @param chuKuCheck
     * @return
     */
    List<Map<String,Object>> getAllNotChuKuCheck(ChuKuCheck chuKuCheck);

    /**
     * 查询 所有的 出库 审核 未通过的 出库 记录表中的信息的 长度
     * @param chuKuCheck
     * @return
     */
    int getAllNotChuKuCheckCount(ChuKuCheck chuKuCheck);
}
